package com.ruoyi.bus.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.bus.domain.WitRoute;
import com.ruoyi.bus.domain.WitRouteSite;

/**
 * 路线Mapper接口
 * 
 * @author caiyanshan
 * @date 2021-04-14
 */
public interface WitRouteMapper 
{
    /**
     * 查询路线
     * 
     * @param routeId 路线ID
     * @return 路线
     */
    public WitRoute selectWitRouteById(Long routeId);

    /**
     * 查询路线列表
     * 
     * @param witRoute 路线
     * @return 路线集合
     */
    public List<WitRoute> selectWitRouteList(WitRoute witRoute);
    
    public List<WitRoute> selectRouteByTwoSideId(Map<String, Object> paramMap);
    
    public List<WitRoute> listRouteByNowPlan(WitRoute route);
    
    public List<WitRoute> myRoute(Long userId);

    /**
     * 新增路线
     * 
     * @param witRoute 路线
     * @return 结果
     */
    public int insertWitRoute(WitRoute witRoute);

    /**
     * 修改路线
     * 
     * @param witRoute 路线
     * @return 结果
     */
    public int updateWitRoute(WitRoute witRoute);

    /**
     * 删除路线
     * 
     * @param routeId 路线ID
     * @return 结果
     */
    public int deleteWitRouteById(Long routeId);

    /**
     * 批量删除路线
     * 
     * @param routeIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteWitRouteByIds(Long[] routeIds);

    /**
     * 批量删除站点路线
     * 
     * @param customerIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteWitRouteSiteByRouteIds(Long[] routeIds);
    
    /**
     * 批量新增站点路线
     * 
     * @param witRouteSiteList 站点路线列表
     * @return 结果
     */
    public int batchWitRouteSite(List<WitRouteSite> witRouteSiteList);
    

    /**
     * 通过路线ID删除站点路线信息
     * 
     * @param roleId 角色ID
     * @return 结果
     */
    public int deleteWitRouteSiteByRouteId(Long routeId);
    
    public List<WitRouteSite> myCommonRoute(Long userId);
    
    public Integer selectCountRoute();
}
